    Piece piece(pt,mIsBlackTurn);
    mPiece.append(piece);

	
    int nLeft =			CountNearItem(piece,QPoint(-1,0));
    int nLeftUp =		CountNearItem(piece,QPoint(-1,-1));
    int nUp =			CountNearItem(piece,QPoint(0,-1));
    int nRightUp =		CountNearItem(piece,QPoint(1,-1));
    int nRight =		CountNearItem(piece,QPoint(1,0));
    int nRightDown =	CountNearItem(piece,QPoint(1,1));
    int nDown =			CountNearItem(piece,QPoint(0,1));
    int nLeftDown =		CountNearItem(piece,QPoint(-1,1));
	if ( (nLeft + nRight) >= 4 ||
		 (nLeftUp + nRightDown) >= 4 ||
		 (nUp + nDown) >= 4 ||
		 (nRightUp + nLeftDown) >= 4 )
	{
        QString str = mIsBlackTurn?"BisquaWinTheGame":"AquaWinTheGame";
		QMessageBox::information(NULL,  "GAME OVER",str, QMessageBox::Yes , QMessageBox::Yes);
        mPiece.clear();
		
		return;
	}
	
	mIsBlackTurn = !mIsBlackTurn;
}

int MainWindow::CountNearItem(Piece piece,QPoint ptDirection)
{
	int nCount = 0;
    piece.mPt += ptDirection;

    while (mPiece.contains(piece))
	{
		nCount++;
        piece.mPt += ptDirection;
	}
	return nCount;
}